package com.vids.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author chenhongbang
 * @since 2024-05-31
 */
@TableName("t_image_compared_summary")
public class ImageComparedSummary implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 图片采集摄像头ID
     */
    private String apeId;

    /**
     * 图片采集摄像头IP地址
     */
    private String apeIpAddr;

    /**
     * 图片开始产生时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime imageBeginCreateTime;

    /**
     * 图片结束产生时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime imageEndCreateTime;

    /**
     * 图片类型
     */
    private Integer imageType;

    /**
     * 图片比较时间段0~23
     */
    private Integer comparedHour;

    /**
     * 视图库图片数量
     */
    private Integer viidImageAmount;

    /**
     * 摄像头图片数量
     */
    private Integer apeImageAmount;

    /**
     * 匹配的图片数量
     */
    private Integer matchedAmount;


    /**
     * 图片类型字符串
     */
    @TableField(exist = false)
    private String imageTypeStr;

    public String getImageTypeStr() {
        return imageTypeStr;
    }

    public void setImageTypeStr(String imageTypeStr) {
        this.imageTypeStr = imageTypeStr;
    }


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getApeId() {
        return apeId;
    }

    public void setApeId(String apeId) {
        this.apeId = apeId;
    }

    public String getApeIpAddr() {
        return apeIpAddr;
    }

    public void setApeIpAddr(String apeIpAddr) {
        this.apeIpAddr = apeIpAddr;
    }

    public LocalDateTime getImageBeginCreateTime() {
        return imageBeginCreateTime;
    }

    public void setImageBeginCreateTime(LocalDateTime imageBeginCreateTime) {
        this.imageBeginCreateTime = imageBeginCreateTime;
    }

    public LocalDateTime getImageEndCreateTime() {
        return imageEndCreateTime;
    }

    public void setImageEndCreateTime(LocalDateTime imageEndCreateTime) {
        this.imageEndCreateTime = imageEndCreateTime;
    }

    public Integer getImageType() {
        return imageType;
    }

    public void setImageType(Integer imageType) {
        this.imageType = imageType;
    }

    public Integer getComparedHour() {
        return comparedHour;
    }

    public void setComparedHour(Integer comparedHour) {
        this.comparedHour = comparedHour;
    }

    public Integer getViidImageAmount() {
        return viidImageAmount;
    }

    public void setViidImageAmount(Integer viidImageAmount) {
        this.viidImageAmount = viidImageAmount;
    }

    public Integer getApeImageAmount() {
        return apeImageAmount;
    }

    public void setApeImageAmount(Integer apeImageAmount) {
        this.apeImageAmount = apeImageAmount;
    }

    public Integer getMatchedAmount() {
        return matchedAmount;
    }

    public void setMatchedAmount(Integer matchedAmount) {
        this.matchedAmount = matchedAmount;
    }

    @Override
    public String toString() {
        return "ImageComparedSummary{" +
            "id = " + id +
            ", apeId = " + apeId +
            ", apeIpAddr = " + apeIpAddr +
            ", imageBeginCreateTime = " + imageBeginCreateTime +
            ", imageEndCreateTime = " + imageEndCreateTime +
            ", imageType = " + imageType +
            ", comparedHour = " + comparedHour +
            ", viidImageAmount = " + viidImageAmount +
            ", apeImageAmount = " + apeImageAmount +
            ", matchedAmount = " + matchedAmount +
        "}";
    }
}
